home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha Extra 2004 January / CyberMycha Extra 1-2004 (Poland) (Disc 2).bin / Pippi / gmgs.dir / Internal_6_things.ls < prev    next >
Encoding:
Text File  |  2001-09-05  |  2.1 KB  |  99 lines

  1. property meSprite, xxWidht, xWidht, startPos, onStage, moveAnt, jumpable
  2. global gmObject
  3.  
  4. on beginSprite me
  5.   meSprite = sprite(me.spriteNum)
  6.   xxWidht = meSprite.member.width
  7.   xWidht = meSprite.member.width / 2
  8.   gmObject.reportThing(me.spriteNum)
  9.   jumpable = value(meSprite.member.name)
  10.   setSpeed(me)
  11.   onStage = 0
  12. end
  13.  
  14. on setSpeed me
  15.   speed = gmObject.speed
  16.   if speed = 0 then
  17.     moveAnt = point(0, 0)
  18.   else
  19.     moveAnt = point(-3, 6) + (point(-2, 4) * speed)
  20.   end if
  21. end
  22.  
  23. on locZup me
  24.   if meSprite.jumpable = 0 then
  25.     if meSprite.locZ <> (me.spriteNum + 50) then
  26.       meSprite.locZ = me.spriteNum + 50
  27.       updateStage()
  28.     end if
  29.   end if
  30. end
  31.  
  32. on locZdown me
  33.   if meSprite.jumpable = 0 then
  34.     if meSprite.locZ <> me.spriteNum then
  35.       meSprite.locZ = me.spriteNum
  36.       updateStage()
  37.     end if
  38.   end if
  39. end
  40.  
  41. on setOn me, pNumH, pMyNumH
  42.   if jumpable = 0 then
  43.     v = gmObject.checkOtherZeroJumpables(meSprite)
  44.     if v = 0 then
  45.       setOff(me)
  46.       exit
  47.     end if
  48.   end if
  49.   secPos = -105
  50.   case pNumH of
  51.     1:
  52.       if xxWidht > 200 then
  53.         v = random(2)
  54.         if v = 1 then
  55.           startPos = point(random(300 - xxWidht) + (180 + xWidht), secPos)
  56.         else
  57.           startPos = point(random(300 - xxWidht) + (680 + xWidht), secPos)
  58.         end if
  59.       else
  60.         startPos = point(random(600 - xxWidht) + (280 + xWidht), secPos)
  61.       end if
  62.     2:
  63.       if xxWidht > 180 then
  64.         setOff(me)
  65.         exit
  66.       end if
  67.       case pMyNumH of
  68.         1:
  69.           startPos = point(random(340 - xxWidht) + (280 + xWidht), secPos)
  70.         2:
  71.           startPos = point(random(340 - xxWidht) + (550 + xWidht), secPos)
  72.       end case
  73.   end case
  74.   meSprite.loc = startPos
  75.   updateStage()
  76.   if gmObject.intersectTestX(meSprite.rect, meSprite) = 1 then
  77.     setOff(me)
  78.     exit
  79.   end if
  80.   onStage = 1
  81. end
  82.  
  83. on setOff me
  84.   onStage = 0
  85.   meSprite.locZ = me.spriteNum
  86.   meSprite.loc = point(0, 900)
  87.   gmObject.reCoverThing(meSprite)
  88. end
  89.  
  90. on exitFrame me
  91.   if onStage = 1 then
  92.     if meSprite.locV < 650 then
  93.       meSprite.loc = meSprite.loc + moveAnt
  94.     else
  95.       setOff(me)
  96.     end if
  97.   end if
  98. end
  99.